home *** CD-ROM | disk | FTP | other *** search
/ 17 Bit Software 3: The Continuation / 17-Bit_The_Continuation_Disc.iso / amigan / amigan 9 / automata / automata.doc < prev    next >
Encoding:
Text File  |  1994-01-27  |  5.4 KB  |  116 lines

  1. Automata  V1.0   by Mike Dryja  Copyright (C) 1987  All Rights Reserved
  2.  
  3. DISCLAIMERS AND THINGS OF THAT NATURE
  4.  
  5. Permission is hereby granted to copy this program for non-profit ventures.
  6. In addition, anyone who would like to include this program on a disk
  7. on which profits will be made must contact me for my approval.  As
  8. of April 13, 1987, permission of this type is granted to the Amigan:
  9. Apprentice and Journeyman, Fred Fish, and Amazing Magazine.  In any case,
  10. this document file MUST be included in its entirity during any sort of
  11. distribution.
  12.  
  13. If you find this program of any aid to you, I would appreciate a 
  14. donation of any amount ($10.00 is suggested).  A donation will put you 
  15. on my mailing list for any further programs, and if Automata is updated,
  16. you will receive first notice.  Send any correspondence to:
  17.         Mike Dryja
  18.         5262 Vincent Trail
  19.         Washington, MI  48094
  20.  
  21. I created this program with the TDI Modula-2 package, and the folks over
  22. there want me to include this line in my software: Developed using TDI
  23. Modula-2/Amiga.  TDI Software Inc.  Dallas, USA.
  24.  
  25. WHAT IS AUTOMATA?
  26.  
  27. With that out of the way, let me give you some insight on just what the
  28. Automata program is, and does.  It is based on the Byte article referenced
  29. below.  You might want to think of Automata as the game of Life (you know,
  30. the one where the little dots reproduce, etc), except only in one
  31. dimension.  Each generation in the game of Life takes up a whole screen,
  32. while in one dimension cellular automata (That is the scientific name, by
  33. the way), one generation takes up just one line.  In addition, there are
  34. four different states a cell can be in, represented in this program by
  35. four different colors.
  36.  
  37. The next generation is determined by the state of the current generation. 
  38. This is done by taking a certain cell's state number, adding both of its
  39. neighbors' state numbers, taking this sum and enforcing a rule on it,
  40. then plotting the next generation.  For example, let's say we have the 
  41. following automata generation:
  42.  
  43.     0 1 2 3 1 2 2
  44.  
  45. Let's also say that the following rule is in effect:
  46.  
  47.     Sum      : 0 1 2 3 4 5 6 7 8 9
  48.     New Cell : 3 2 1 3 2 0 2 1 3 1
  49.  
  50. Now, take the cell in the automata generation which has the state number of
  51. 3 (the middle one).  The sum of that state number, plus its two neighbors
  52. (2 + 1) equals 6.  Take the sum, 6, and look it up on the table.  Under 6
  53. we find the new cell state is 2.  Therefore, the cell which used to be 3
  54. has now evolved in the next generation as 2.
  55.  
  56. By using this method, there are a lot of different and exciting possibil-
  57. ities.  By using Automata, you can vary the rule as much as you want.  
  58. In my version, there are only four possible states each cell can possess,
  59. 0 through 3.  On the screen, 0 is black, 1 is red, 2 is green, and 3 is
  60. blue.  The original rule has been taken from the issue of Byte, and 
  61. possesses a very intricate pattern.  Remember when you make your own rule,
  62. that there should be 10 digits (for sums 0 through 9), and the rule can
  63. only have the numbers 0 through 3 in it, as there are no states past 3.
  64. So for example, if you type the rule 0123232011, this means:
  65.  
  66.     Sum      : 0 1 2 3 4 5 6 7 8 9
  67.     New Cell : 0 1 2 3 2 3 2 0 1 1
  68.  
  69. Hopefully you now have some idea on just what Automata is.  But this just
  70. scratches the surface, as the field of cellular automata is very complex.
  71. I refer you to the two magazine articles listed below for more study.
  72. Reading them will allow you to have much more enjoyment out of this
  73. program.
  74.  
  75. BUGS, OMISSIONS, USING THIS MODULE, ETC.
  76.  
  77. 1) As for this version, V1.0, there is just one bug which I could not zap.
  78. When you are entering the rule number, you may get confused with the
  79. scrolling of the rule as you approach the last digit.  I did not want 
  80. this to happen, rather I wished for the cursor to remain on the last
  81. digit.  But I couldn't do this for some reason or another.
  82.  
  83. 2) One feature is missing from this program, which may cause some of you
  84. some problems.  I wanted the user to be able to input the original
  85. state, but at this time it is not implemented.  The computer has a 
  86. random initial generation, which in itself can be changed by restarting
  87. the program through the menu.
  88.  
  89. Those are two things I wanted to clear up, and hopefully will in a future
  90. version.  
  91.  
  92. For those of you who want to make your own Automata program, I have the
  93. basic code in a separate library module, AMCalc.  By studying this 
  94. module, and how it is interfaced with the other modules, you should be 
  95. able to get a pretty good idea of how everything was done.  All I ask is
  96. that if you do use the module, please let me know.  If it is a commercial
  97. venture, remember, this program is copyrighted, so we can discuss 
  98. financial concerns.  But if you will be just using it in the public 
  99. domain, by all means, go ahead!  When you received this program, hope-
  100. fully all the source files were attached (There are a lot of them!).  If
  101. not, drop me a line, and I'll see if I can get them to you.
  102.  
  103. REFERENCES
  104.  
  105. Hapgood, Fred, "Let There Be Life,"  Omni, April 1987, pp. 40-46+.
  106.    This article describes where automata came from, and has an excellent
  107.    introduction on how to make your own rules.  Past that, it describes
  108.    what MIT is doing in this area.
  109.  
  110. Perry, Kenneth E., "Abstract Mathematical Art,"  Byte, December 1986, pp.
  111.    181-192.
  112.    This article has the main algorithms, and 100 very interesting rules.
  113.    If you just like looking at the automata, get this issue, as the $3.50
  114.    is worth it for the 100 rules alone.
  115.  
  116.